home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1999 March / EnigmA AMIGA RUN 35 (1999)(G.R. Edizioni)(IT)[!][issue 1999-03].iso / earcd / devel / libx11 / include / x11 / xkw / cards.h next >
C/C++ Source or Header  |  1999-01-01  |  4KB  |  114 lines

  1. /*
  2.  * $NCD$
  3.  *
  4.  * Copyright 1992 Network Computing Devices
  5.  *
  6.  * Permission to use, copy, modify, distribute, and sell this software and its
  7.  * documentation for any purpose is hereby granted without fee, provided that
  8.  * the above copyright notice appear in all copies and that both that
  9.  * copyright notice and this permission notice appear in supporting
  10.  * documentation, and that the name of NCD. not be used in advertising or
  11.  * publicity pertaining to distribution of the software without specific,
  12.  * written prior permission.  NCD. makes no representations about the
  13.  * suitability of this software for any purpose.  It is provided "as is"
  14.  * without express or implied warranty.
  15.  *
  16.  * NCD. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
  17.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NCD.
  18.  * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  19.  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
  20.  * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 
  21.  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  22.  *
  23.  * Author:  Keith Packard, Network Computing Devices
  24.  */
  25.  
  26. #ifndef _XtCards_h
  27. #define _XtCards_h
  28. #include "Hand.h"
  29.  
  30. typedef enum _CardsRank {
  31.     CardsAce = 1,
  32.     Cards2 = 2,
  33.     Cards3 = 3,
  34.     Cards4 = 4,
  35.     Cards5 = 5,
  36.     Cards6 = 6,
  37.     Cards7 = 7,
  38.     Cards8 = 8,
  39.     Cards9 = 9,
  40.     Cards10 = 10,
  41.     CardsJack = 11, 
  42.     CardsQueen = 12, 
  43.     CardsKing = 13
  44. } CardsRank;
  45.  
  46. typedef enum _CardsOverlap {
  47.     CardsOverlapNeither = 0,
  48.     CardsOverlapVertical = 1,
  49.     CardsOverlapHorizontal = 2,
  50.     CardsOverlapBoth = 3
  51. } CardsOverlap;
  52.  
  53. #define CardsRankToInt(c)   ((int) (c) - 1)
  54. #define IntToCardsRank(i)   ((CardsRank) ((i) + 1))
  55.  
  56. typedef enum _CardsSuit {
  57.     CardsClub, CardsDiamond, CardsHeart, CardsSpade, 
  58.     CardsBack, CardsEmpty, CardsNone
  59. } CardsSuit;
  60.  
  61. #define CardsSuitToInt(s)   ((int) (s))
  62. #define IntToCardsSuit(i)   ((int) (i))
  63.  
  64. typedef struct {
  65.     CardsRank    rank;
  66.     CardsSuit    suit;
  67. } CardsCardRec, *CardsCardPtr;
  68.  
  69. /* define exposed functions */
  70.  
  71. extern XtPointer    CardsAddCard(/* Widget, CardsCardPtr, int row, int col */);
  72. extern void        CardsReplaceCard(/* Widget, XtPointer, CardsCardPtr */);
  73.  
  74. /* Add aliases to stuff which is simply inherited from the Hand widget */
  75.  
  76. #define CardsRemoveCard    HandRemoveCard
  77. #define CardsRectangleForCard    HandRectangleForCard
  78. #define CardsRectangleForPos    HandRectangleForPos
  79. #define CardsRemoveAllCards    HandRemoveAllCards
  80. #define CardsXYToPos        HandXYToPos
  81. #define CardsUpdateDisplay    HandUpdateDisplay
  82. #define CardsInputRec        HandInputRec
  83. #define CardsInputPtr        HandInputPtr
  84.  
  85. typedef struct _CardsRec *CardsWidget;
  86. typedef struct _CardsClassRec *CardsWidgetClass;
  87.  
  88. extern WidgetClass  cardsWidgetClass;
  89.  
  90. #define XtNroundCards "roundCards"
  91. #define XtCRoundCards "RoundCards"
  92. #define XtNsmallCards "smallCards"
  93. #define XtCSmallCards "SmallCards"
  94. #define XtNback "back"
  95. #define XtCBack "Back"
  96. #define XtNtrademark "trademark"
  97. #define XtCTrademark "Trademark"
  98. #define XtNobverseColor "obverseColor"
  99. #define XtCObverseColor "ObverseColor"
  100. #define XtNblackColor "blackColor"
  101. #define XtCBlackColor "BlackColor"
  102. #define XtNredColor "redColor"
  103. #define XtCRedColor "RedColor"
  104. #define XtNinverseColor "inverseColor"
  105. #define XtCInverseColor "InverseColor"
  106. #define XtNcolor "color"
  107. #define XtNoverlap "overlap"
  108. #define XtCOverlap "Overlap"
  109. #define XtNuseTile "useTile"
  110. #define XtCUseTile "UseTile"
  111.  
  112. #define XtRCardsOverlap "CardsOverlap"
  113. #endif /* _XtCards_h */
  114.